﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Linq.Expressions;

namespace Rocket.Core
{
    public delegate void DataFiltered<DTO>(Expression<Func<DTO, bool>> filterExpression);
    public interface IContainerFilter<DTO, B, H, V> : IContainerViewer<B, H, V>
        where H : IHandler<V>
        where V : BaseObject
        where DTO: class
    {
        event DataFiltered<DTO> OnDataFiltered;
        IRocketFilter<B, DTO> RefRocketFilter { get; }
        void Filter();
        void ReLoadAll();
    }
}
